//package com.zhu.tool_test.starke.framework.redis.send;
//
//
//import com.alibaba.fastjson.JSONObject;
//
//import com.zhu.tool_test.starke.framework.redis.controller.Command;
//import com.zhu.tool_test.starke.framework.redis.controller.CommandCallback;
//import com.zhu.tool_test.starke.framework.redis.controller.EventController;
//import com.zhu.tool_test.starke.matrix.multipart.core.MultipartData;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Component;
//
//import java.util.concurrent.ExecutionException;
//
///*
// * @Author ggBall
// * @Description  给Redis下发命令
// * @Date 17:53 2020/7/29
// * @Param
// * @return
// **/
//@Component
//@Slf4j
//public class SendCommand {
//
//    @Autowired
//    EventController eventController;
//
//
//    /*
//     * @Author ggBall
//     * @Description 发送命令
//     * @Date 18:03 2020/7/29
//     * @Param [key, data]  键值，命令json数据
//     * @return java.lang.String
//     **/
//    public String sendControlCommand(String key, String response_key, MultipartData data){
//
//        String asyncCommand = null;//定义一个返回值
//
//        String jsonData = JSONObject.toJSONString(data);
//
//        //设置最长等待时间5秒
//        eventController.setRpcTimeout(5);
//
//
//            try {
//                asyncCommand = eventController.asyncCommand(key, new Command() {
//                            @Override
//                            public String build() {
//                                return jsonData;
//                            }
//
//                            @Override
//                            public String returnToQueue() {
//                                return response_key;
//                            }
//                        }, new CommandCallback() {
//                            @Override
//                            public void receiveData(String data)  {
//                                log.info("反控返回确认消息{}",data);
//                                System.out.println(data);
//                            }
//                        }
//                );
//            } catch (ExecutionException e) {
//                e.printStackTrace();
//            } catch (InterruptedException e) {
//                e.printStackTrace();
//            }
//
//        return asyncCommand;
//        }
//
//}
